#ifndef _CONTROLLABLE_H
#define _CONTROLLABLE_H

#include "action.h"

/**
  * This a interface used by @see Control to manage a object.
  */
class Controllable
{
  public:
    /**
      * This function will be called when the action's event is triggered.
      *
      * @param action is the action that object must eject.
      * @param magnitude is how many action must eject.
      */
    virtual void doAction(const ActionID action,const Sint32 magnitude)=0;
};

#endif
